﻿namespace MicroCloud.Filter
{
    /// <summary>
    /// 页数据
    /// <para>封装分页的行数据与总记录数</para>
    /// </summary>
    /// <typeparam name="T">项数据类型</typeparam>
    public class PageData<T>
    {
        #region 构造函数
        /// <summary>
        /// 初始化一个页数据 <see cref="PageData{T}"/> 的新实例
        /// </summary>
        public PageData()
            : this(new List<T>(), 0)
        { }

        /// <summary>
        /// 初始化一个页数据 <see cref="PageData{T}"/> 的新实例
        /// </summary>
        /// <param name="rows">行数据</param>
        /// <param name="total">总记录数</param>
        public PageData(IEnumerable<T> rows, long total)
        {
            Rows = rows;
            Total = total;
        }

        #endregion

        #region 属性
        /// <summary>
        /// 获取或设置 行数据
        /// </summary>
        public IEnumerable<T> Rows { get; set; }
        
        /// <summary>
        /// 获取或设置 总记录数
        /// </summary>
        public long Total { get; set; }

        #endregion

    }
}
